package com.hospital.diagnosis.module.service;

import com.hospital.common.pojo.TChatLog;
import com.hospital.common.pojo.TChatSession;
import com.hospital.common.pojo.TDepartment;
import com.hospital.diagnosis.module.vo.ChatSessionVo;
import com.hospital.diagnosis.module.vo.DoctorVo;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface ChatService
{
    List<TDepartment> getDepartments();

    List<DoctorVo> getDoctors(Long departmentId);

    Boolean updateChatStatus(String sessionId, Integer status);

    Boolean createChat(Long doctorId, Long patientId);

    List<TChatSession> getChats(Long userId);

    List<TChatSession> getChats();

    List<ChatSessionVo> getChatSessionVo(List<TChatSession> chats);

    void archiveChat(TChatSession chatSession);

    List<TChatSession> getArchivedChats(Long userId);

    String getUserNameById(Long userId);

    List<TChatLog> getChatLogsBySessionId(String sessionId);

    List<DoctorVo> getAllDoctors(Long departmentId);

    List<ChatSessionVo> getAllArchivedChats(Long doctorId, String patientName, String startTime, String endTime,Integer pageNum,Integer pageSize);
    Integer getAllArchivedChatsCount(Long doctorId, String patientName, String startTime, String endTime);

    Integer getUnreadCount(Long doctorId);

}
